gtk4.git
8 years agogdk: Rename gdk_event_get_history() to get_motion_history()
Carlos Garnacho [Mon, 5 Feb 2018 14:59:40 +0000 (15:59 +0100)]
gdk: Rename gdk_event_get_history() to get_motion_history()

It only applies to GDK_MOTION_NOTIFY events, so this is a more descriptive
name. Also add Since tag in docs, and GDK_AVAILABLE_IN_3_94.

8 years agobuild: Fix the non-pkg-config Vulkan detection
Emmanuele Bassi [Mon, 5 Feb 2018 14:35:34 +0000 (14:35 +0000)]
build: Fix the non-pkg-config Vulkan detection

Not all the variables were renamed.

8 years agobuild: Create input method module cache directory
Daniel Stone [Wed, 23 Aug 2017 17:53:59 +0000 (18:53 +0100)]
build: Create input method module cache directory

Before running gtk-query-immodules, the cache output directory may not
actually exist. Make sure it does before we try to write into it.

https://bugzilla.gnome.org/show_bug.cgi?id=793182
Signed-off-by: Daniel Stone <daniels@collabora.com>
8 years agobuild: Use pkg-config to find Vulkan
Emmanuele Bassi [Mon, 5 Feb 2018 11:42:02 +0000 (11:42 +0000)]
build: Use pkg-config to find Vulkan

The standard Vulkan SDK ships with a pkg-config file, like a modern
library should.

We should fall back to finding the library and header only for platforms
where pkg-config is not really a thing.

Based on a patch by: Daniel Stone <daniels@collabora.com>

https://bugzilla.gnome.org/show_bug.cgi?id=793181

8 years agoDrop the last mentions of motion hint events
Emmanuele Bassi [Mon, 5 Feb 2018 13:52:46 +0000 (13:52 +0000)]
Drop the last mentions of motion hint events

The GDK_POINTER_MOTION_HINT_MASK enumeration value is gone, but we're
still keeping around the "is_hint" field in GdkEventMotion, even though
every backend sets it to `false` — except for the core X11 device
manager.

8 years agoDon't put gdk types into a gsk header
Matthias Clasen [Mon, 5 Feb 2018 06:49:44 +0000 (07:49 +0100)]
Don't put gdk types into a gsk header

This is a leftover from when GskTexture was moved
to gdk.

8 years agoDrop the mir backend
Matthias Clasen [Mon, 5 Feb 2018 06:46:01 +0000 (07:46 +0100)]
Drop the mir backend

Mir is in the process of switching over to the Wayland protocol,
so we don't need to maintain a separate backend, going forward.

8 years agoUpdate Polish translation
Piotr Drąg [Sun, 4 Feb 2018 23:37:11 +0000 (00:37 +0100)]
Update Polish translation

8 years agodocs: Remove some leftovers
Matthias Clasen [Sun, 4 Feb 2018 22:38:15 +0000 (23:38 +0100)]
docs: Remove some leftovers

There were still references to recent chooser and tool palette
types in the docs.

8 years agoDrop threads from the docs
Matthias Clasen [Sun, 4 Feb 2018 22:27:59 +0000 (23:27 +0100)]
Drop threads from the docs

8 years agoDrop gtk_widget_show_now
Matthias Clasen [Fri, 2 Feb 2018 16:48:39 +0000 (17:48 +0100)]
Drop gtk_widget_show_now

This function does bad things, and is not an
API that we want to take into GTK+ 4.

8 years agotreeview: Stop using gtk_widget_show_now
Matthias Clasen [Fri, 2 Feb 2018 17:13:36 +0000 (18:13 +0100)]
treeview: Stop using gtk_widget_show_now

If this is a problem, it needs to be handled explicitly.

8 years agogtk testsuite: Stop using gtk_widget_show_now
Matthias Clasen [Fri, 2 Feb 2018 17:13:10 +0000 (18:13 +0100)]
gtk testsuite: Stop using gtk_widget_show_now

If this is a problem, it needs to be handled explicitly.

8 years agoa11y testsuite: Stop using gtk_widget_show_now
Matthias Clasen [Fri, 2 Feb 2018 17:12:22 +0000 (18:12 +0100)]
a11y testsuite: Stop using gtk_widget_show_now

On non-windows, this doesn't do anything anyway.

8 years agosearchbar: reorganize
Timm Bäder [Sun, 4 Feb 2018 21:24:44 +0000 (22:24 +0100)]
searchbar: reorganize

Avoid the ugly priv->tool_box==NULL check in ::add (and ::remove) by
just not using template xml for this small class. Also, make sure the
GtkBin child is properly set and implement remove to also properly
remove it. Remove the manual widget margins and add some CSS for it.
Also switch to simply using a GtkCenterBox.

8 years agosearchbar: Properly remove child widgets
Timm Bäder [Sun, 4 Feb 2018 16:51:18 +0000 (17:51 +0100)]
searchbar: Properly remove child widgets

Since the GtkSearchBar is not the direct parent, we need to remove them
properly from priv->box_center.

8 years agosearchbar: Remove unused widgets
Timm Bäder [Sun, 4 Feb 2018 16:14:05 +0000 (17:14 +0100)]
searchbar: Remove unused widgets

both box_left and box_right are unused.

8 years agogdk: fix a format string warning
Timm Bäder [Sun, 4 Feb 2018 14:48:47 +0000 (15:48 +0100)]
gdk: fix a format string warning

8 years agoglarea: Fix precondition check
Timm Bäder [Sun, 4 Feb 2018 14:10:23 +0000 (15:10 +0100)]
glarea: Fix precondition check

and the build.

8 years agoroundedrect: Fix coordinate mixup in contains_point
Timm Bäder [Sat, 3 Feb 2018 22:14:16 +0000 (23:14 +0100)]
roundedrect: Fix coordinate mixup in contains_point

This together with the optimizations in GtkSnapshot was causing circular
buttons to become squared when partially scrolled out of view.

8 years agoglarea: Simplify make_current
Timm Bäder [Sun, 4 Feb 2018 08:23:11 +0000 (09:23 +0100)]
glarea: Simplify make_current

We only use the widget pointer here once.

8 years agogl renderer: Use a gl texture in render_texture
Timm Bäder [Sat, 3 Feb 2018 18:35:25 +0000 (19:35 +0100)]
gl renderer: Use a gl texture in render_texture

Get rid of the manual y flipping and cairo business. This keeps the gl
unit tests working at least.

8 years agoUpdate POTFILES.in
Piotr Drąg [Sat, 3 Feb 2018 19:23:28 +0000 (20:23 +0100)]
Update POTFILES.in

8 years agorendernode: Don't alloca() 8MB
Benjamin Otte [Sat, 3 Feb 2018 15:05:01 +0000 (16:05 +0100)]
rendernode: Don't alloca() 8MB

This happens when deserializing testcases and it really confuses
valgrind into thinking we're longjmp()ing.

And deserializing rendernodes is slow anyway, so who cares about a few
more malloc()s.

8 years agorbtree: Privatize header
Benjamin Otte [Sat, 3 Feb 2018 14:47:41 +0000 (15:47 +0100)]
rbtree: Privatize header

According to meson it's the only private header that doesn't conform to
the *private.h naming.

Fix that.

8 years agoAllow binding GdkContentFormatsBuilder
Emmanuele Bassi [Thu, 1 Feb 2018 16:43:15 +0000 (17:43 +0100)]
Allow binding GdkContentFormatsBuilder

GdkContentFormatsBuilder is currently not introspectable, as it does not
have a GType. We can turn it into a boxed type, but we need to implement
memory management for it.

The current gdk_content_formats_builder_free() function returns a newly
constructed value, so we cannot use it as a GBoxedFreeFunc; additionally
copying a GdkContentFormatsBuilder contents would make it a bit odd, as
you could get multiple identical GdkContentFormats out of the copies.

A simple approach is to model the GdkContentFormatsBuilder API to follow
the GBytes one: use reference counting for memory management, and have
a function to release a reference, return a GdkContentFormats, and reset
the GdkContentFormatsBuilder state.

For language bindings, we can provide a get_formats() function that
returns the GdkContentFormats instance and resets the builder instance,
leaving the reference count untouched.

For C convenience we can keep gdk_content_formats_builder_free(), and
make it a wrapper around gdk_content_formats_builder_get_formats(), with
the guarantee that it'll free the builder instance regardless of its
current reference count.

https://bugzilla.gnome.org/show_bug.cgi?id=793097
https://blogs.gnome.org/otte/2018/02/03/builders/

8 years agogl renderer: Clear resources after render_texture
Timm Bäder [Sat, 3 Feb 2018 12:24:55 +0000 (13:24 +0100)]
gl renderer: Clear resources after render_texture

This makes multiple consecutive render_texture calls on the same
renderer work.

8 years agonotebook: Handle touch events for tabs
Timm Bäder [Fri, 2 Feb 2018 14:22:22 +0000 (15:22 +0100)]
notebook: Handle touch events for tabs

No need to check for the event type here.

8 years agowidget: Remove realized checks from _translate_coordinates
Timm Bäder [Fri, 2 Feb 2018 14:16:18 +0000 (15:16 +0100)]
widget: Remove realized checks from _translate_coordinates

As discussed.

8 years agowidget: Don't call snapshot vfunc if width or height are 0
Timm Bäder [Fri, 2 Feb 2018 13:50:17 +0000 (14:50 +0100)]
widget: Don't call snapshot vfunc if width or height are 0

The result won't be visible anyway. This also prevents problems with
widgets that create some resource the size of the widget, like
GtkGLArea. It also keeps us from snapshotting revealers with
size 0.

8 years agoiconbrowser: setup image dnd for image6
Timm Bäder [Thu, 1 Feb 2018 08:36:45 +0000 (09:36 +0100)]
iconbrowser: setup image dnd for image6

Otherwise the we fail to set the drag source icon name later on.

8 years agoRemove all gdk_threads_* entry points
Emmanuele Bassi [Fri, 2 Feb 2018 16:02:59 +0000 (17:02 +0100)]
Remove all gdk_threads_* entry points

Now that we don't use them anywhere, it's time for them to go.

https://bugzilla.gnome.org/show_bug.cgi?id=793124

8 years agoDrop the Big GDK Lock
Emmanuele Bassi [Fri, 2 Feb 2018 15:34:40 +0000 (16:34 +0100)]
Drop the Big GDK Lock

GDK has a lock to mark critical sections inside the backends.
Additionally, code that would re-enter into the GTK main loop was
supposed to hold the lock.

Back in the Good Old Days™ this was guaranteed to kind of work only on
the X11 backend, and would cause a neat explosion on any other GDK
backend.

During GTK+ 3.x we deprecated the API to enter and leave the critical
sections, and now we can remove all the internal uses of the lock, since
external API that uses GTK+ 4.x won't be able to hold the GDK lock.

https://bugzilla.gnome.org/show_bug.cgi?id=793124

8 years agoReplace gdk_threads_add_timeout* with g_timeout_add()
Emmanuele Bassi [Fri, 2 Feb 2018 14:51:47 +0000 (15:51 +0100)]
Replace gdk_threads_add_timeout* with g_timeout_add()

The main GDK thread lock is not portable and deprecated.

The only reason why gdk_threads_add_timeout() and
gdk_threads_add_timeout_full() exist is to allow invoking a callback
with the GDK lock held, in case 3rd party libraries still use the
deprecated gdk_threads_enter()/gdk_threads_leave() API.

Since we're removing the GDK lock, and we're releasing a new major API,
such code cannot exist any more; this means we can use the GLib API for
installing timeout callbacks.

https://bugzilla.gnome.org/show_bug.cgi?id=793124

8 years agoReplace gdk_threads_add_idle* with g_idle_add()
Emmanuele Bassi [Fri, 2 Feb 2018 14:08:02 +0000 (15:08 +0100)]
Replace gdk_threads_add_idle* with g_idle_add()

The main GDK thread lock is not portable and deprecated.

The only reason why gdk_threads_add_idle() and
gdk_threads_add_idle_full() exist is to allow invoking a callback with
the GDK lock held, in case 3rd party libraries still use the deprecated
gdk_threads_enter()/gdk_threads_leave() API.

Since we're removing the GDK lock, and we're releasing a new major API,
such code cannot exist any more; this means we can use the GLib API for
installing idle callbacks.

https://bugzilla.gnome.org/show_bug.cgi?id=793124

8 years agotoolpalette: Remove
Benjamin Otte [Sat, 3 Feb 2018 10:52:37 +0000 (11:52 +0100)]
toolpalette: Remove

The widget was basically unmaintained since GTK 3.0 and the only known
user was Glade.

8 years agogtk: Remove GtkRecentChooser
Benjamin Otte [Fri, 2 Feb 2018 17:01:17 +0000 (18:01 +0100)]
gtk: Remove GtkRecentChooser

It's not used any more, recent files are only used by the filtchooser
and that one uses GtkRecentManager directly.

8 years agotests: Unrealize renderer
Benjamin Otte [Fri, 2 Feb 2018 14:34:34 +0000 (15:34 +0100)]
tests: Unrealize renderer

Renderers must be unrealized these days.

8 years agotexture: Add sanity checks to constructors
Benjamin Otte [Fri, 2 Feb 2018 13:58:39 +0000 (14:58 +0100)]
texture: Add sanity checks to constructors

width, height and GL texture ID may not be 0, so return_if_fail() if
they are.

8 years agotexture: Make the texture id a guint
Benjamin Otte [Fri, 2 Feb 2018 13:58:12 +0000 (14:58 +0100)]
texture: Make the texture id a guint

Texture IDs are unsigned, so treat them like that.

8 years agoRename GtkActionMuxer's private header
Emmanuele Bassi [Fri, 2 Feb 2018 09:13:10 +0000 (10:13 +0100)]
Rename GtkActionMuxer's private header

Follow the naming policy for private headers.

8 years agoRename GtkActionHelper private header
Emmanuele Bassi [Fri, 2 Feb 2018 09:08:41 +0000 (10:08 +0100)]
Rename GtkActionHelper private header

Follow the naming scheme for private headers.

8 years agoSplit list of sources
Emmanuele Bassi [Fri, 2 Feb 2018 09:01:47 +0000 (10:01 +0100)]
Split list of sources

We need to have two lists: one, with the list of sources that need to be
introspected; and one with the list of sources that contain only private
symbols.

This reduces the amount of source files that the introspection scanner
needs to traverse, and thus the build time.

8 years agodocs: Annotate gdk_keymap_get_display()
Emmanuele Bassi [Thu, 1 Feb 2018 15:13:53 +0000 (16:13 +0100)]
docs: Annotate gdk_keymap_get_display()

Avoid a warning from the introspection scanner.

8 years agoRemove unnecessary gtk-doc stanza
Emmanuele Bassi [Thu, 1 Feb 2018 15:08:51 +0000 (16:08 +0100)]
Remove unnecessary gtk-doc stanza

The places sidebar is not a publicly documented API, so there's no need
to use a gtk-doc stanza — especially if the syntax of the stanza is
wrong.

8 years agoRemove leading underscore from private symbols
Emmanuele Bassi [Thu, 1 Feb 2018 15:05:58 +0000 (16:05 +0100)]
Remove leading underscore from private symbols

There's no need to do that any more, as only explicitly annotated
symbols are exported.

8 years agoRename gtkiconcachevalidator.h
Emmanuele Bassi [Thu, 1 Feb 2018 15:01:38 +0000 (16:01 +0100)]
Rename gtkiconcachevalidator.h

Follow the same convention for private headers as newer parts of GTK.

8 years agoRename gtkiconcache.h
Emmanuele Bassi [Thu, 1 Feb 2018 14:34:57 +0000 (15:34 +0100)]
Rename gtkiconcache.h

The gtkiconcache.h header is private, so rename it to follow the naming
scheme for private headers.

8 years agoReplace boilerplate in GtkIcon
Emmanuele Bassi [Thu, 1 Feb 2018 14:29:01 +0000 (15:29 +0100)]
Replace boilerplate in GtkIcon

Be a good GObject citizen and use G_DECLARE_FINAL_TYPE instead of
writing the usual GObject boilerplate.

8 years agoiconview: Fix a problem with the previous change
Matthias Clasen [Wed, 31 Jan 2018 16:44:26 +0000 (17:44 +0100)]
iconview: Fix a problem with the previous change

After commit ffef28a7e8d5ffef7de6a3baccb30b0021b6b0ff,
gtk-icon-browser was spewing critical warnings when
changing sections. Avoid that by respecting the return
value of gtk_tree_model_get_iter.

8 years agodnd: Remove unused member variable
Benjamin Otte [Sun, 17 Dec 2017 19:40:03 +0000 (20:40 +0100)]
dnd: Remove unused member variable

8 years agodnd: Move GdkDragProtocol to X11
Benjamin Otte [Sun, 17 Dec 2017 19:36:40 +0000 (20:36 +0100)]
dnd: Move GdkDragProtocol to X11

It's not needed in the generic implementation, so don't have it there.

8 years agodnd: Remove 2 vfuncs that aren't needed
Benjamin Otte [Sun, 17 Dec 2017 19:29:11 +0000 (20:29 +0100)]
dnd: Remove 2 vfuncs that aren't needed

They're only used inside the X11 backend, and the backend can just call
its own function.

8 years agoicon browser: Remove usage of stock-size property
Timm Bäder [Tue, 30 Jan 2018 20:38:23 +0000 (21:38 +0100)]
icon browser: Remove usage of stock-size property

Does not exist anymore.

8 years agoRevert "menu: Simplify popup_at_rect"
Timm Bäder [Tue, 30 Jan 2018 09:18:54 +0000 (10:18 +0100)]
Revert "menu: Simplify popup_at_rect"

This reverts commit a29306cb1e739afaa4a7b31d48c4bec328cfef9e.

8 years agorange: Always queue an allocate if the adjustment changed
Timm Bäder [Tue, 30 Jan 2018 09:13:51 +0000 (10:13 +0100)]
range: Always queue an allocate if the adjustment changed

The slider gets its new size in size-allocate, so we have to do this
even if the range has no origin.

8 years agowayland: Add support for BTN_STYLUS3
Jason Gerecke [Tue, 10 Oct 2017 16:17:43 +0000 (09:17 -0700)]
wayland: Add support for BTN_STYLUS3

BTN_STYLUS3 is defined by the Linux 4.15 kernel and is sent when the
third button on a stylus is pressed. At the moment, only Wacom's "Pro
Pen 3D" has three stylus buttons. Pressing this button triggers a button
8 event to be sent under X11, so we use the same mapping here.

https://bugzilla.gnome.org/show_bug.cgi?id=790033

8 years agoAdd AGPL3-only licence to GtkAboutDialog
Nuclear Sunshine [Tue, 23 Jan 2018 13:49:31 +0000 (13:49 +0000)]
Add AGPL3-only licence to GtkAboutDialog

https://bugzilla.gnome.org/show_bug.cgi?id=792793

8 years agogl: Add test case for clipped cross fade nodes
Timm Bäder [Sat, 27 Jan 2018 11:19:22 +0000 (12:19 +0100)]
gl: Add test case for clipped cross fade nodes

8 years agogl renderer: Reset clip when drawing offscreen
Timm Bäder [Sat, 27 Jan 2018 11:13:37 +0000 (12:13 +0100)]
gl renderer: Reset clip when drawing offscreen

Just like we reset the scissor test and the viewport, we also can't use
the current clip anymore in this case.

8 years agoGskRoundedRect: Fix GSK_ROUNDED_RECT_INIT macro
Timm Bäder [Sat, 27 Jan 2018 11:11:49 +0000 (12:11 +0100)]
GskRoundedRect: Fix GSK_ROUNDED_RECT_INIT macro

GskRoundedRect does not have a .rect member, it's 'bounds'. Also,
properly initialize all fields, i.e. all the corners.

8 years agogl renderer: Fix hidpi cairo node rendering
Timm Bäder [Sat, 27 Jan 2018 10:02:07 +0000 (11:02 +0100)]
gl renderer: Fix hidpi cairo node rendering

We can't just unconditionally create a larger texture here, since the
incoming cairo surface might have a device scale that doesn't fit our
scale_factor. Instead, look up the surface device scale and use that.

8 years agogl renderer: Make width/height relation more obvious
Timm Bäder [Sat, 27 Jan 2018 10:00:59 +0000 (11:00 +0100)]
gl renderer: Make width/height relation more obvious

In add_offscreen_ops, we use the max_x/min_x values for the texture and
viewport width, and the max_y/min_y for the texture and viewport height.

8 years agoinspector: Actually call the pick() vfunc when picking
Timm Bäder [Fri, 26 Jan 2018 16:28:25 +0000 (17:28 +0100)]
inspector: Actually call the pick() vfunc when picking

Otherwise, overridden pick vfuncs don't work and we e.g. pick widgets
scrolled away in a viewport.

8 years agoentry: Remove unused struct members
Timm Bäder [Fri, 26 Jan 2018 14:51:33 +0000 (15:51 +0100)]
entry: Remove unused struct members

8 years agomenu: Simplify popup_at_rect
Timm Bäder [Wed, 24 Jan 2018 07:44:53 +0000 (08:44 +0100)]
menu: Simplify popup_at_rect

No need to keep a separate current_event variable around, we don't use
it anyway.

8 years agogdk: Stop referring to ::key-press/release-event
Matthias Clasen [Tue, 23 Jan 2018 23:04:28 +0000 (00:04 +0100)]
gdk: Stop referring to ::key-press/release-event

These signals are going away, don't mention them in
the docs.

8 years agoentry completion: Stop using key-press/release-event
Matthias Clasen [Tue, 23 Jan 2018 23:02:58 +0000 (00:02 +0100)]
entry completion: Stop using key-press/release-event

We can use the existing ::event handler for this.

8 years agogsk: Add test case for last commit
Timm Bäder [Tue, 23 Jan 2018 20:46:05 +0000 (21:46 +0100)]
gsk: Add test case for last commit

8 years agogl renderer: Fix outset shadow outline transform
Timm Bäder [Tue, 23 Jan 2018 20:44:33 +0000 (21:44 +0100)]
gl renderer: Fix outset shadow outline transform

This fixes hidpi blurred outset shadows

8 years agoEnforce UTF-8 encoding when opening C files
Emmanuele Bassi [Thu, 18 Jan 2018 19:23:16 +0000 (19:23 +0000)]
Enforce UTF-8 encoding when opening C files

We have a couple of Python 3.x scripts that parse C files, and since C
does not have any encoding, we need to force one ourselves, to avoid the
case when we're running the build in a non-UTF-8 locale.

https://bugzilla.gnome.org/show_bug.cgi?id=792497

8 years agoWidget: Don’t call reset() on NULL EventController
Daniel Boles [Thu, 18 Jan 2018 00:51:24 +0000 (00:51 +0000)]
Widget: Don’t call reset() on NULL EventController

GtkGesture is a GtkEventController. gtk_event_controller_dispose() calls
_gtk_widget_remove_controller(). That NULLs the pointer-to-Controller in
our EventControllerData but does not delete said ECData from our GList.

Subsequently, if that same Widget gets unparent()ed, that method calls
unset_state_flags(), which leads to doing reset_controllers() if we are
insensitive. Now, unlike most most other loops over the GList of ECData,
reset_controllers() does not skip nodes whose pointer-to-Controller is
NULL. So, we call gtk_event_controller_reset(NULL) and get a CRITICAL.

This surfaced in a gtkmm program. The Gesture is destroyed before the
Widget. The Widget then gets dispose()d, which calls unparent()… boom.
I didn’t find an MCVE yet but would hope this logic is correct anyway:

The simplest fix is to make the loop in gtk_widget_reset_controllers()
skip GList nodes with a NULL Controller pointer, like most other such
loops, so we avoid passing the NULL to gtk_event_controller_reset().

In other, live cases, _gtk_widget_run_controllers() loops over the GList
and removes/frees nodes having NULL Controllers, so that should suffice.
But this clearly was not getting a chance to happen in the failing case.

https://bugzilla.gnome.org/show_bug.cgi?id=792624

8 years agoUpdate Esperanto translation
GNOME Translation Robot [Mon, 22 Jan 2018 18:34:48 +0000 (18:34 +0000)]
Update Esperanto translation

(cherry picked from commit 814c55d473c6a7ab9f930421aad5612a351ba68d)

8 years agoGtkGestureMultiPress: check event state before emiting released signal
Juan Pablo Ugarte [Mon, 22 Jan 2018 14:20:14 +0000 (11:20 -0300)]
GtkGestureMultiPress: check event state before emiting released signal

Fix bug 771986 "Inconsistent 'row-activated' signal emission before \
drag'n'drop, 'activate-on-single-click'=TRUE, 'reorderable'=TRUE"

8 years agowidget: Only initialize bounds rect if necessary
Timm Bäder [Sun, 21 Jan 2018 19:37:46 +0000 (20:37 +0100)]
widget: Only initialize bounds rect if necessary

We only use the graphene_rect_t version of the offset_clip for the
fallback cairo nodes.

8 years agovulkan: Fix release builds
Timm Bäder [Sun, 21 Jan 2018 14:23:17 +0000 (15:23 +0100)]
vulkan: Fix release builds

8 years agocombobox: Remove some unneeded includes
Timm Bäder [Sun, 21 Jan 2018 10:01:32 +0000 (11:01 +0100)]
combobox: Remove some unneeded includes

8 years agoSet GDK_WINDOW_STATE_TILED if any edge is tiled
Simon McVittie [Thu, 26 Oct 2017 14:51:51 +0000 (15:51 +0100)]
Set GDK_WINDOW_STATE_TILED if any edge is tiled

This state flag is used in several places in GTK+, for example to
ignore RESIZE_INC hints if tiled. Setting it is also necessary for
backwards compatibility with applications that changed their behaviour
when tiled, such as GNOME Terminal and its MATE fork.

Signed-off-by: Simon McVittie <smcv@debian.org>
https://bugzilla.gnome.org/show_bug.cgi?id=789357

8 years agodisplay-x11: Unset tiled state if _GTK_EDGE_CONSTRAINTS is supported
Georges Basile Stavracas Neto [Wed, 4 Oct 2017 18:33:15 +0000 (15:33 -0300)]
display-x11: Unset tiled state if _GTK_EDGE_CONSTRAINTS is supported

Commit c415bef5de introduced support for the new _GTK_EDGE_CONSTRAINTS
atom. If the compositor supports that atom, however, we were always
setting the tiled state, even if no actual tiling information is
available, where the correct action is to completely remove any traces
of the tiled state.

Fix that by correctly removing the tiled state when compositor supports
_GTK_EDGE_CONSTRAINTS Xatom.

https://bugzilla.gnome.org/show_bug.cgi?id=788516

8 years agoentrycompletion: Realize toplevel before attempting a grab
Timm Bäder [Fri, 19 Jan 2018 14:15:09 +0000 (15:15 +0100)]
entrycompletion: Realize toplevel before attempting a grab

Otherwise, gtk_widget_get_window returns NULL and we can't successfully
perform a grab via the later gdk_set_grab call. This fixes the entry
completion in the file chooser not working.

8 years agotests: Remove some unneeded gtk_widget_show calls
Matthias Clasen [Fri, 19 Jan 2018 15:22:28 +0000 (16:22 +0100)]
tests: Remove some unneeded gtk_widget_show calls

Widgets are visible by default now.

8 years agoiconview: Fix updates with filter models
Matthias Clasen [Fri, 19 Jan 2018 15:04:18 +0000 (16:04 +0100)]
iconview: Fix updates with filter models

Filter models rely on views taking a ref on every node
they care about. GtkIconView was not doing that. Amazingly,
this has never shown up in a bug so far, until I spotted
the fallout in gnome-font-viewer.

8 years agoAdd a test for ::row-changed vs node refs
Matthias Clasen [Fri, 19 Jan 2018 15:02:42 +0000 (16:02 +0100)]
Add a test for ::row-changed vs node refs

Test that filter models propagate ::row-changed if there is
an external reference on the node, and not otherwise. This
is showing up in buggy icon view behaviour, where the icon
view is not redrawing if the content changes in a model that
is below a filter model.

8 years agogtkwindow: Disconnect GdkSeat::device-removed callback on finalize
Carlos Garnacho [Fri, 19 Jan 2018 17:47:21 +0000 (18:47 +0100)]
gtkwindow: Disconnect GdkSeat::device-removed callback on finalize

Otherwise dangling callbacks may lead to crashes.

8 years agogl renderer: Fix shadow node child offset
Timm Bäder [Fri, 19 Jan 2018 14:00:22 +0000 (15:00 +0100)]
gl renderer: Fix shadow node child offset

We shouldn't apply the shadow offset when drawing the child offscreen,
instead apply it afterwards when we draw it to the current render
target.

8 years agotestsuite: Add another gl renderer test case
Timm Bäder [Fri, 19 Jan 2018 13:59:31 +0000 (14:59 +0100)]
testsuite: Add another gl renderer test case

8 years agolinkbutton: Only set widget cursor once
Timm Bäder [Fri, 19 Jan 2018 12:21:41 +0000 (13:21 +0100)]
linkbutton: Only set widget cursor once

8 years agoinspector: Allow picking insensitive widgets
Timm Bäder [Fri, 19 Jan 2018 09:16:15 +0000 (10:16 +0100)]
inspector: Allow picking insensitive widgets

The default gtk_widget_contains/gtk_widget_pick don't consider
insensitive widgets.

8 years agocsswidgetnode: Avoid some unnecessary work
Timm Bäder [Fri, 19 Jan 2018 08:57:49 +0000 (09:57 +0100)]
csswidgetnode: Avoid some unnecessary work

The later code would just ref both styles and not do anything else.

8 years agowidget-factory: Fix some layout issues
Timm Bäder [Fri, 19 Jan 2018 08:53:39 +0000 (09:53 +0100)]
widget-factory: Fix some layout issues

We have to explicitly set some of these to their default values so
expand-set is TRUE and the boxes stop propagating their expansion state
up the hierarchy.

8 years agotextview: Remove some stray debugging output
Timm Bäder [Thu, 18 Jan 2018 20:54:03 +0000 (21:54 +0100)]
textview: Remove some stray debugging output

Leftover from 7046463b880c79b227594a2b35a6c625119d286e

8 years agoSimplify all ui files again
Matthias Clasen [Thu, 18 Jan 2018 22:46:58 +0000 (17:46 -0500)]
Simplify all ui files again

Now even simpler!

8 years agobuilder-tool: Try harder to find types
Matthias Clasen [Thu, 18 Jan 2018 22:45:12 +0000 (17:45 -0500)]
builder-tool: Try harder to find types

If g_type_from_name fails, try gtk_builder_get_type_from_name
before giving up. This fixes cases like GtkPrinterOptionWidget.

8 years agowindow: Ignore gtk_window_close calls from close-request handlers
Timm Bäder [Thu, 18 Jan 2018 14:10:49 +0000 (15:10 +0100)]
window: Ignore gtk_window_close calls from close-request handlers

8 years agowidget: Always assign values to out parameter in translate_coordinates
Timm Bäder [Thu, 18 Jan 2018 13:43:36 +0000 (14:43 +0100)]
widget: Always assign values to out parameter in translate_coordinates

safe guard against people using the returned coordinate values without
checking the return value of gtk_widget_translate_coordinates.

8 years agowidget: Initialize a local variable
Timm Bäder [Thu, 18 Jan 2018 13:42:39 +0000 (14:42 +0100)]
widget: Initialize a local variable

We will later pass this variable on to some other functions, so be safe
against them using the value.

8 years agoaboutdialog: Only close on delete events
Timm Bäder [Thu, 18 Jan 2018 13:38:27 +0000 (14:38 +0100)]
aboutdialog: Only close on delete events

Clicking on the Credits button should not close the dialog.

8 years agofontchooswerwidget: Center spinbutton next to scales vertically
Timm Bäder [Thu, 18 Jan 2018 08:40:19 +0000 (09:40 +0100)]
fontchooswerwidget: Center spinbutton next to scales vertically

8 years agogl renderer: Render GL textures upside down
Timm Bäder [Thu, 18 Jan 2018 07:21:11 +0000 (08:21 +0100)]
gl renderer: Render GL textures upside down

These come from an FBO so we need to flip the texture coords on the y
axis, just like we do everywhere else.

8 years agoRevert "inspector: Stop adding event controllers to the object tree"
Matthias Clasen [Thu, 18 Jan 2018 04:49:17 +0000 (23:49 -0500)]
Revert "inspector: Stop adding event controllers to the object tree"

This reverts commit 8f3cb2658a79d20912b6f2ec96bc7e6bbdaeb067.

This didn't quite work out, since being in the object tree is
a prerequisite for showing up in the property editor.